//Copyright 1986-2020 Xilinx, Inc. All Rights Reserved.
//--------------------------------------------------------------------------------
//Tool Version: Vivado v.2020.1 (win64) Build 2902540 Wed May 27 19:54:49 MDT 2020
//Date        : Sat Apr 24 17:12:28 2021
//Host        : DESKTOP-BL4PLN1 running 64-bit major release  (build 9200)
//Command     : generate_target MIC_ARRAY.bd
//Design      : MIC_ARRAY
//Purpose     : IP block netlist
//--------------------------------------------------------------------------------
`timescale 1 ps / 1 ps

(* CORE_GENERATION_INFO = "MIC_ARRAY,IP_Integrator,{x_ipVendor=xilinx.com,x_ipLibrary=BlockDiagram,x_ipName=MIC_ARRAY,x_ipVersion=1.00.a,x_ipLanguage=VERILOG,numBlks=22,numReposBlks=22,numNonXlnxBlks=0,numHierBlks=0,maxHierDepth=0,numSysgenBlks=0,numHlsBlks=0,numHdlrefBlks=0,numPkgbdBlks=0,bdsource=USER,da_board_cnt=1,da_clkrst_cnt=15,synth_mode=OOC_per_IP}" *) (* HW_HANDOFF = "MIC_ARRAY.hwdef" *) 
module MIC_ARRAY
   (data_offset_0,
    fifo_resetn_out,
    m_aresetn,
    m_axis_tdata,
    m_axis_tkeep,
    m_axis_tready,
    m_axis_tuser,
    m_axis_tvalid,
    m_clk,
    mic_areset_n,
    mic_clk,
    mic_data);
  input [31:0]data_offset_0;
  (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 RST.FIFO_RESETN_OUT RST" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME RST.FIFO_RESETN_OUT, INSERT_VIP 0, POLARITY ACTIVE_LOW" *) output fifo_resetn_out;
  (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 RST.M_ARESETN RST" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME RST.M_ARESETN, INSERT_VIP 0, POLARITY ACTIVE_LOW" *) input m_aresetn;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TDATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME m_axis, CLK_DOMAIN MIC_ARRAY_m_clk, FREQ_HZ 100000000, HAS_TKEEP 1, HAS_TLAST 0, HAS_TREADY 1, HAS_TSTRB 0, INSERT_VIP 0, LAYERED_METADATA undef, PHASE 0.000, TDATA_NUM_BYTES 4, TDEST_WIDTH 0, TID_WIDTH 0, TUSER_WIDTH 3" *) output [31:0]m_axis_tdata;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TKEEP" *) output [3:0]m_axis_tkeep;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TREADY" *) input m_axis_tready;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TUSER" *) output [2:0]m_axis_tuser;
  (* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 m_axis TVALID" *) output m_axis_tvalid;
  (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 CLK.M_CLK CLK" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME CLK.M_CLK, ASSOCIATED_BUSIF m_axis, ASSOCIATED_RESET m_aresetn, CLK_DOMAIN MIC_ARRAY_m_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, INSERT_VIP 0, PHASE 0.000" *) input m_clk;
  (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 RST.MIC_ARESET_N RST" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME RST.MIC_ARESET_N, INSERT_VIP 0, POLARITY ACTIVE_LOW" *) input mic_areset_n;
  (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 CLK.MIC_CLK CLK" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME CLK.MIC_CLK, ASSOCIATED_RESET mic_areset_n, CLK_DOMAIN MIC_ARRAY_mic_clk, FREQ_HZ 100000000, FREQ_TOLERANCE_HZ 0, INSERT_VIP 0, PHASE 0.000" *) input mic_clk;
  input [6:0]mic_data;

  wire [6:0]Din_0_1;
  wire [31:0]axis_clock_converter_0_M_AXIS_TDATA;
  wire axis_clock_converter_0_M_AXIS_TREADY;
  wire axis_clock_converter_0_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_1_M_AXIS_TDATA;
  wire axis_clock_converter_1_M_AXIS_TREADY;
  wire axis_clock_converter_1_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_2_M_AXIS_TDATA;
  wire axis_clock_converter_2_M_AXIS_TREADY;
  wire axis_clock_converter_2_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_3_M_AXIS_TDATA;
  wire axis_clock_converter_3_M_AXIS_TREADY;
  wire axis_clock_converter_3_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_4_M_AXIS_TDATA;
  wire axis_clock_converter_4_M_AXIS_TREADY;
  wire axis_clock_converter_4_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_5_M_AXIS_TDATA;
  wire axis_clock_converter_5_M_AXIS_TREADY;
  wire axis_clock_converter_5_M_AXIS_TVALID;
  wire [31:0]axis_clock_converter_6_M_AXIS_TDATA;
  wire axis_clock_converter_6_M_AXIS_TREADY;
  wire axis_clock_converter_6_M_AXIS_TVALID;
  wire axis_data_merger_0_fifo_resetn_out;
  wire [31:0]axis_data_merger_0_m_axis_TDATA;
  wire [3:0]axis_data_merger_0_m_axis_TKEEP;
  wire axis_data_merger_0_m_axis_TREADY;
  wire [2:0]axis_data_merger_0_m_axis_TUSER;
  wire axis_data_merger_0_m_axis_TVALID;
  wire [31:0]data_offset_0_1;
  wire m_aresetn_0_1;
  wire m_clk_0_1;
  wire mic_clk;
  wire [31:0]mic_pdm2pcm_0_M_AXIS_TDATA;
  wire mic_pdm2pcm_0_M_AXIS_TLAST;
  wire mic_pdm2pcm_0_M_AXIS_TREADY;
  wire mic_pdm2pcm_0_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_1_M_AXIS_TDATA;
  wire mic_pdm2pcm_1_M_AXIS_TLAST;
  wire mic_pdm2pcm_1_M_AXIS_TREADY;
  wire mic_pdm2pcm_1_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_2_M_AXIS_TDATA;
  wire mic_pdm2pcm_2_M_AXIS_TLAST;
  wire mic_pdm2pcm_2_M_AXIS_TREADY;
  wire mic_pdm2pcm_2_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_3_M_AXIS_TDATA;
  wire mic_pdm2pcm_3_M_AXIS_TLAST;
  wire mic_pdm2pcm_3_M_AXIS_TREADY;
  wire mic_pdm2pcm_3_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_4_M_AXIS_TDATA;
  wire mic_pdm2pcm_4_M_AXIS_TLAST;
  wire mic_pdm2pcm_4_M_AXIS_TREADY;
  wire mic_pdm2pcm_4_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_5_M_AXIS_TDATA;
  wire mic_pdm2pcm_5_M_AXIS_TLAST;
  wire mic_pdm2pcm_5_M_AXIS_TREADY;
  wire mic_pdm2pcm_5_M_AXIS_TVALID;
  wire [31:0]mic_pdm2pcm_6_M_AXIS_TDATA;
  wire mic_pdm2pcm_6_M_AXIS_TLAST;
  wire mic_pdm2pcm_6_M_AXIS_TREADY;
  wire mic_pdm2pcm_6_M_AXIS_TVALID;
  wire mo_axis_aresetn_0_1;
  wire [0:0]xlslice_0_Dout;
  wire [0:0]xlslice_1_Dout;
  wire [0:0]xlslice_2_Dout;
  wire [0:0]xlslice_3_Dout;
  wire [0:0]xlslice_4_Dout;
  wire [0:0]xlslice_5_Dout;
  wire [0:0]xlslice_6_Dout;

  assign Din_0_1 = mic_data[6:0];
  assign axis_data_merger_0_m_axis_TREADY = m_axis_tready;
  assign data_offset_0_1 = data_offset_0[31:0];
  assign fifo_resetn_out = axis_data_merger_0_fifo_resetn_out;
  assign m_aresetn_0_1 = m_aresetn;
  assign m_axis_tdata[31:0] = axis_data_merger_0_m_axis_TDATA;
  assign m_axis_tkeep[3:0] = axis_data_merger_0_m_axis_TKEEP;
  assign m_axis_tuser[2:0] = axis_data_merger_0_m_axis_TUSER;
  assign m_axis_tvalid = axis_data_merger_0_m_axis_TVALID;
  assign m_clk_0_1 = m_clk;
  assign mo_axis_aresetn_0_1 = mic_areset_n;
  MIC_ARRAY_axis_clock_converter_0_0 axis_clock_converter_0
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_0_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_0_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_0_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_0_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_0_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_0_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_0_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_1 axis_clock_converter_1
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_1_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_1_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_1_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_1_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_1_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_1_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_1_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_2 axis_clock_converter_2
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_2_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_2_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_2_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_2_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_2_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_2_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_2_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_3 axis_clock_converter_3
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_3_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_3_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_3_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_3_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_3_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_3_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_3_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_4 axis_clock_converter_4
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_4_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_4_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_4_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_4_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_4_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_4_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_4_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_5 axis_clock_converter_5
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_5_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_5_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_5_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_5_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_5_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_5_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_5_M_AXIS_TVALID));
  MIC_ARRAY_axis_clock_converter_0_6 axis_clock_converter_6
       (.m_axis_aclk(m_clk_0_1),
        .m_axis_aresetn(m_aresetn_0_1),
        .m_axis_tdata(axis_clock_converter_6_M_AXIS_TDATA),
        .m_axis_tready(axis_clock_converter_6_M_AXIS_TREADY),
        .m_axis_tvalid(axis_clock_converter_6_M_AXIS_TVALID),
        .s_axis_aclk(mic_clk),
        .s_axis_aresetn(mo_axis_aresetn_0_1),
        .s_axis_tdata(mic_pdm2pcm_6_M_AXIS_TDATA),
        .s_axis_tlast(mic_pdm2pcm_6_M_AXIS_TLAST),
        .s_axis_tready(mic_pdm2pcm_6_M_AXIS_TREADY),
        .s_axis_tvalid(mic_pdm2pcm_6_M_AXIS_TVALID));
  MIC_ARRAY_axis_data_merger_0_0 axis_data_merger_0
       (.fifo_resetn_out(axis_data_merger_0_fifo_resetn_out),
        .m_aresetn(m_aresetn_0_1),
        .m_clk(m_clk_0_1),
        .m_tdata(axis_data_merger_0_m_axis_TDATA),
        .m_tkeep(axis_data_merger_0_m_axis_TKEEP),
        .m_tready(axis_data_merger_0_m_axis_TREADY),
        .m_tuser(axis_data_merger_0_m_axis_TUSER),
        .m_tvalid(axis_data_merger_0_m_axis_TVALID),
        .s0_axis_tdata(axis_clock_converter_0_M_AXIS_TDATA),
        .s0_axis_tready(axis_clock_converter_0_M_AXIS_TREADY),
        .s0_axis_tvalid(axis_clock_converter_0_M_AXIS_TVALID),
        .s1_axis_tdata(axis_clock_converter_1_M_AXIS_TDATA),
        .s1_axis_tready(axis_clock_converter_1_M_AXIS_TREADY),
        .s1_axis_tvalid(axis_clock_converter_1_M_AXIS_TVALID),
        .s2_axis_tdata(axis_clock_converter_2_M_AXIS_TDATA),
        .s2_axis_tready(axis_clock_converter_2_M_AXIS_TREADY),
        .s2_axis_tvalid(axis_clock_converter_2_M_AXIS_TVALID),
        .s3_axis_tdata(axis_clock_converter_3_M_AXIS_TDATA),
        .s3_axis_tready(axis_clock_converter_3_M_AXIS_TREADY),
        .s3_axis_tvalid(axis_clock_converter_3_M_AXIS_TVALID),
        .s4_axis_tdata(axis_clock_converter_4_M_AXIS_TDATA),
        .s4_axis_tready(axis_clock_converter_4_M_AXIS_TREADY),
        .s4_axis_tvalid(axis_clock_converter_4_M_AXIS_TVALID),
        .s5_axis_tdata(axis_clock_converter_5_M_AXIS_TDATA),
        .s5_axis_tready(axis_clock_converter_5_M_AXIS_TREADY),
        .s5_axis_tvalid(axis_clock_converter_5_M_AXIS_TVALID),
        .s6_axis_tdata(axis_clock_converter_6_M_AXIS_TDATA),
        .s6_axis_tready(axis_clock_converter_6_M_AXIS_TREADY),
        .s6_axis_tvalid(axis_clock_converter_6_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_0 mic_pdm2pcm_0
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_0_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_0_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_0_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_0_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_0_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_1 mic_pdm2pcm_1
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_1_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_1_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_1_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_1_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_1_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_2 mic_pdm2pcm_2
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_2_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_2_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_2_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_2_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_2_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_3 mic_pdm2pcm_3
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_3_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_3_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_3_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_3_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_3_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_4 mic_pdm2pcm_4
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_4_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_4_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_4_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_4_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_4_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_0_5 mic_pdm2pcm_5
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_5_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_5_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_5_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_5_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_5_M_AXIS_TVALID));
  MIC_ARRAY_mic_pdm2pcm_5_0 mic_pdm2pcm_6
       (.data_offset(data_offset_0_1),
        .mic_bit_data(xlslice_6_Dout),
        .mo_axis_aclk(mic_clk),
        .mo_axis_aresetn(mo_axis_aresetn_0_1),
        .mo_axis_tdata(mic_pdm2pcm_6_M_AXIS_TDATA),
        .mo_axis_tlast(mic_pdm2pcm_6_M_AXIS_TLAST),
        .mo_axis_tready(mic_pdm2pcm_6_M_AXIS_TREADY),
        .mo_axis_tvalid(mic_pdm2pcm_6_M_AXIS_TVALID));
  MIC_ARRAY_xlslice_0_0 xlslice_0
       (.Din(Din_0_1),
        .Dout(xlslice_0_Dout));
  MIC_ARRAY_xlslice_0_1 xlslice_1
       (.Din(Din_0_1),
        .Dout(xlslice_1_Dout));
  MIC_ARRAY_xlslice_0_2 xlslice_2
       (.Din(Din_0_1),
        .Dout(xlslice_2_Dout));
  MIC_ARRAY_xlslice_0_3 xlslice_3
       (.Din(Din_0_1),
        .Dout(xlslice_3_Dout));
  MIC_ARRAY_xlslice_0_4 xlslice_4
       (.Din(Din_0_1),
        .Dout(xlslice_4_Dout));
  MIC_ARRAY_xlslice_0_5 xlslice_5
       (.Din(Din_0_1),
        .Dout(xlslice_5_Dout));
  MIC_ARRAY_xlslice_5_0 xlslice_6
       (.Din(Din_0_1),
        .Dout(xlslice_6_Dout));
endmodule
